#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021-03-26 14:20
# @Author : wxc
# @File : manager.py
# @Desc : 新闻 flask
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
# 配置类
from info import get_app, db, models

app = get_app("develop")
# 3.通过Manager类创建对象manager,管理app
manager = Manager(app)
# 4.使用Migrate,关联db,app
Migrate(app, db)
# 5.给manager添加一条操作命令
manager.add_command("db", MigrateCommand)
"""
  * 相关迁移命令:
    * 生成迁移文件夹[一次就好]
      * python xxx.py db init
    * 将模型类生成迁移脚本[重复执行]
      * python xxx.py db migrate -m '注释'
    * 将迁移脚本更新到数据库中[重复执行]
      * python xxx.py db upgrade/downgrade [version]
    * 其他命令
      * 查看最新版本的命令
        * python xxx.py db show
      * 查看当前版本
        * python xxx.py db current
      * 查看所有的历史版本
        * python xxx.py db history
"""
"""
在这里直接迁移是迁移不成功的 报KeyError: 'migrate'错误
因为在命令行直接敲python manager.py db init是不会运行该文件的，也就是说导入的db是None,因为不会去运行get_app方法
No changes in schema detected. 这个错误是因为没有关联到models这个文件
需要导入才能感知 from info import models
"""
if __name__ == '__main__':
    manager.run()
